home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / SOUND / TIMESTRETCH / !Stretch / TimeStrtch (.txt) < prev   
RISC OS BBC BASIC V Source  |  1995-07-28  |  2KB  |  51 lines

  1.  || TimeStretch V0.01 alpha
  2.  || written on 28th July 1995 by Benjamin Bommer for private needs,
  3.  || and that's why it sucks...
  4.  || anyway: read the accompanying note on how it's done
  5.  || if you want to include this in your own programms,
  6.  || (thinking of Computer Concepts' totally underdeveloped AudioWorks)
  7.  || because I'm not gonna write a sample-editor just to stuff this
  8.  || effect somewhere...
  9.  || This is public domain.
  10.  "Samplename : ";name$
  11. )x% = 
  12.  ("<stretch$dir>.Input."+name$)
  13.  "OS_Args",2,x% 
  14.  ,,length%
  15.  sample_in% (length%+1024)
  16.  "load <stretch$dir>.Input."+name$+" "+
  17. ~sample_in%
  18.  "Input-File loaded"
  19. /out% = 
  20.  ("<stretch$dir>.stretched."+name$)
  21.  "Output-file opened":
  22.  "Original file length: ";length%
  23.  values to change:
  24.  smooth% should not be greater than chsize%
  25.  (chsize% = 256 : 
  26.  chunksize in bytes
  27. !'stretch = 4   : 
  28.  stretching factor
  29. "0smooth% = 30  : 
  30.  area to overlap (in bytes)
  31. chk% = 0
  32. outl% = 0
  33. chknr% = length%/chsize%
  34.  "Bytes written: ";outl%;", ";
  35. (outl%/length%*100);"% stretched"
  36. .:in1% = sample_in% + chk%*chsize%*(1/stretch) + smooth%
  37.  a% = 1 
  38.  chsize%-smooth%
  39. #out%,?(in1%):outl%+=1
  40.  in1%+=1
  41. chk%+=1
  42.  smooth%<>0 
  43. 83   in2% = sample_in% + chk%*chsize%*(1/stretch)
  44.  a% = 0 
  45.  smooth%-1
  46. :B    
  47. #out%,(?in1%)*(1-(1/smooth%)*a%)+(?in2%)*((1/smooth%)*a%)
  48. ;     outl%+=1:in1%+=1:in2%+=1
  49.  in1%>=sample_in%+length%
  50.  #out%
  51.